Linux的前世今生
电脑玩多了,相信大家总会看到一个系统的名字——Linux。
不过,看到这个词,大家可能都不晓得该怎么读。怎么读?问百度。
Linux
英['l?n?ks] 美[?lin?ks]
这么看来,这个词的读法差不多应该是“里呢科斯”或者“李纽克斯”之类样子。
不过不重要,因为有人说过:Linux是自由的,包括它的读音。
我们今天就来看看这个自由的Linux。

第一个问题,Linux的名字是什么?
看到这里,一定会有小伙伴们觉得:汇智妹你是不是没吃药?你写了那么多Linux,还问Linux的名字?
你以为Linux的名字就是Linux吗?
错!
我们平常说的、见到的Linux的名字应该是GNU/Linux。

Linux是操作系统内核,一个内核是没有办法称为一个单独的操作系统的。就像有GNU/Linux,也有Android/Linux(不包括GNU组件)。
后者就是我们常见的Android操作系统。但前者,却被我们称为Linux。
这并不代表GNU没有人权,因为GNU操作系统本应该是GNU/Hurd,只不过到现在,Hurd这个内核都没有开发完成。
至于这其中为什么会有这么多弯弯绕,我们慢慢来慢慢捋一下。

1970年,最早的UNIX系统问世。
在UNIX诞生前,只有面向批处理作业的操作系统,这对用户来讲实在是太慢了。

1973年,随着C语言的诞生,原来用汇编语言编写UNIX也改用C语言来编写,并由此产生了UNIX VersionV。
1974年,UNIX系统正式向外界披露,自此一发不可收拾。
UNIX系统的应用越来越广泛,但UNIX版权所有的AT&T公司却下了一步臭棋:他们把原本低廉甚至免费开源的UNIX 闭源 并开始 收费 ,甚至还对之前的 UNIX及其变种 声明了版权。
这就让人很不爽了,因为那些UNIX变种,大部分都是各个机构在UNIX源码基础上进行扩充和改进才形成的。
凭什么你说声明版权就声明版权?

于是在1983年,当时30岁的理查德·马修·斯托曼(RMS)发起了GNU计划,目标是创建一套完全自由的操作系统GNU。之后,他又建立了自由软件基金会来协助该计划的实施。

理查德·马修·斯托曼
1989年,RMS找了一群律师起草了广为使用的GNU通用公共协议证书(GNU General Public License),即GPL。
此时,GNU计划除最关键的Hurd操作系统内核外,其他绝大多数软件已经完成了。

1991年,芬兰大学生Linus Torvalds在Minix的启发下,开发了Linux系统内核。

Linus Torvalds
Linus当时的想法很简单,因为需要经常访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他就编写了磁盘驱动程序和文件系统。而这就是Linux的第一个雏形。
后来,Linus就把这套系统以Linux的名字加入到了GNU计划之中,并通过了GPL协议。
而这个举动,让全世界的程序员大佬参与Linux内核代码修改编写的工作。也就是说,Linux更应该说是一个时代的结晶。
1996年6月,Linux 2.0内核发布,此时的Linux已经进入了实用阶段,能够支持多个处理器,在全球拥有约350万的用户。

然而,RMS的GNU计划也好,自由软件基金会也好,都是为了倡导自由软件的理念。他认为商业软件是不道德的,必须给用户以自由,所以要使用自由软件。这也是RMS为什么要撰写GPL协议。
而原本跟RMS并肩作战的Eric Steven Raymond将商业封闭软件和自由软件比喻为大教堂和市集,他认为自由软件不仅仅是一种意识形态,而是市场竞争的驱动。

Eric Steven Raymond
受到ESR理论的影响,网景公司在1998年将他们的旗舰产品网景浏览器发布成了开源软件。随之,开放源代码促进会(Open Source Initiative,OSI)应运而生。
比起RMS的自由软件理念,Linus显然更接受开源软件运动的想法。在ESR的文章中提到过Linus的思想,Linus认为用户需要更好的软件,而不在乎这个软件是否属于自由软件,开源是能构建出更好软件的方法。
随着开源软件运动的开展,也展开了一场历史性的Linux产业化运动。

因为Linux本身是开源的,再加上GPL并没有限制从事商业行为,于是涌现了越来越多的商业公司和团队来开发自己的Linux distribution。如Red Hat,SuSE,Ubuntu,Fedora,Debian,CentOS等。

图源自网络
也就是说,Linux只是操作系统内核,由于加装了GNU,才形成了一个完成的操作系统GNU/Linux。
由于Linux开源,然后就开始“基因突变”出了各种不同的版本。但因为这个“基因突变”不足以产生明显差异,所以,大家合在一起还是叫做Linux发行版。

Linux受到程序员们广泛追捧,也正是归功于其免费开源的特点,并且不断有大批程序员向Linux社区提供代码。
模块化程度高、硬件支持广泛、安全稳定、可移植性良好都是Linux在开发者眼中不可或缺的优势。
程序员们成就了Linux,Linux也成就着越来越多的程序员。
可能这就是开源的魅力所在吧。